package com.wenx.v3system.modular.platform.domain.po;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.wenx.base.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;

/**
 * 平台菜单实体
 * 简化的平台权限模型，基于菜单的权限控制
 * 
 * @author wenx
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("platform_menu")
public class PlatformMenu extends BaseEntity {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 菜单编码，对应前端菜单key
     */
    @TableField("code")
    private String code;

    /**
     * 菜单名称
     */
    @TableField("name")
    private String name;

    /**
     * 菜单路径
     */
    @TableField("path")
    private String path;

    /**
     * 菜单图标
     */
    @TableField("icon")
    private String icon;

    /**
     * 菜单描述
     */
    @TableField("description")
    private String description;

    /**
     * 菜单分类：platform-平台管理
     */
    @TableField("category")
    private String category;

    /**
     * 所需权限代码，逗号分隔
     */
    @TableField("required_permissions")
    private String requiredPermissions;

    /**
     * 是否为内置菜单
     */
    @TableField("is_builtin")
    private Boolean isBuiltin;

    /**
     * 菜单状态：1-启用，0-禁用
     */
    @TableField("status")
    private Integer status;

    /**
     * 排序
     */
    @TableField("sort")
    private Integer sort;
} 